1. Field of the Invention
The present invention generally relates to an rpm (revolution per minute) calculating apparatus for calculating an rpm of an engine on the basis of a detection pulse derived from a rotary sensor used to control the engine. More specifically, the present invention is directed to such an rpm calculating apparatus for controlling an engine, capable of expanding a high rpm region calculable in an easy process operation without deteriorating a calculation capability with respect to a low rpm region while a calculation period is not changed.
2. Description of the Related Art
Conventionally, rpm calculating apparatuses for controlling engines are known in the field, in which rpms (revolution per minute) of engines are calculated based upon detection pulses derived from rotary sensors. For example, this type of rpm calculating apparatus is utilized in the transmission control apparatus described in Japanese Patent Application Laid-open No. Hei 6-81940.
Referring now to FIG. 6 to FIG. 9, the conventional rpm calculating apparatus for controlling the engine will be explained.
FIG. 6 is a block structural diagram for schematically showing the conventional rpm calculating apparatus for controlling the engine. FIG. 7 is an explanatory diagram for explaining a waveform of a detection pulse xe2x80x9cPxe2x80x9d derived from a rotary sensor, and also calculation timing. FIG. 8 is a flow chart for describing a pulse detection interrupt routine. FIG. 9 is a flow chart for describing an rpm calculation interrupt routine.
In FIG. 6, a rotary member 1 coupled to an engine (not shown) is provided in an integral manner with, for example, a crank shaft, and either an input shaft or an output shaft of an engine transmission for gear change purposes. A plurality of teeth 2 are formed along an outer peripheral portion of the rotary member 1 with a constant interval.
A rotary sensor 3 constructed of an electromagnetic pick-up and the like is positioned opposite to the teeth 2 of the rotary member 1, and produces a detection pulse xe2x80x9cPxe2x80x9d in response to an rpm of the rotary member 1. It is now assumed that the rotary sensor 3 contains a waveform shaping circuit used to produce such a detection pulse xe2x80x9cPxe2x80x9d.
A microcomputer 10 calculates an rpm of an engine on the basis of the detection pulse xe2x80x9cPxe2x80x9d so as to control this engine. The microcomputer 10 constitutes a main body of this conventional rpm calculating apparatus for controlling the engine.
As indicated in FIG. 7, only timing (namely, detection time instant xe2x80x9ctixe2x80x9d) of one edge (for example, rising edge) of the detection pulse xe2x80x9cPxe2x80x9d derived from the rotary sensor 3 is guaranteed.
As a result, the microcomputer 10 detects only the rising edge of the detection pulse xe2x80x9cPxe2x80x9d as the pulse detection time instant xe2x80x9ctixe2x80x9d and the pulse number, and then calculates an rpm xe2x80x9cNexe2x80x9d of the engine.
The rpm calculation is executed by the microcomputer 10 at calculation timing xe2x80x9cTixe2x80x9d every constant calculation period as indicated in FIG. 7.
For instance, as time instant information acquired at calculation timing T2, such pulse detection time instants xe2x80x9ct1xe2x80x9d and xe2x80x9ct2xe2x80x9d are used which have been stored immediately before the respective calculation timings xe2x80x9cT1xe2x80x9d and xe2x80x9cT2xe2x80x9d.
Next, a pulse detecting operation executed by the microcomputer 10 will now be described with reference to FIG. 8.
The pulse detection interrupt routine of FIG. 8 is executed every time the rising edge of the detection pulse P is detected.
In other words, in FIG. 8, the microcomputer 10 stores the latest pulse detection time instant xe2x80x9ctixe2x80x9d every time the rising edge of the detection pulse P is detected while sequentially updating the latest pulse detection time instant xe2x80x9ctixe2x80x9d (step S1).
Subsequently, a counter value xe2x80x9cCixe2x80x9d for counting a pulse number is incremented (step S2), and then the pulse detection interrupt routine shown in FIG. 8 is ended by the microcomputer 10.
As a result, both the latest pulse detection time instant xe2x80x9ctixe2x80x9d and the pulse number xe2x80x9cCixe2x80x9d counted from the preceding calculation timing are stored into a RAM of the microcomputer 10.
Referring now to FIG. 9, an rpm calculating operation of the microcomputer 10 will be described.
The rpm calculation interrupt routine of FIG. 9 is executed at calculation timing xe2x80x9cTixe2x80x9d every calculation time period xe2x80x9cTxe2x80x9d.
That is, in FIG. 9, the microcomputer 10 executes the rpm calculation every predetermined calculation timing Ti (step S11).
For example, the rpm Ne at calculation timing xe2x80x9cT2xe2x80x9d indicated in FIG. 7 is calculated based upon the following equation (1):
Ne=(Np/M)xc3x97{(60xc3x97106)/T12}xe2x80x83xe2x80x83(1).
It should be noted that in the above equation (1), symbol xe2x80x9cNpxe2x80x9d denotes a pulse number which is detected within the calculation time period xe2x80x9cTxe2x80x9d (namely, time period defined from the pulse detection time instants xe2x80x9ctixe2x80x9d to xe2x80x9ct2xe2x80x9d); symbol xe2x80x9cMxe2x80x9d, shows a pulse number (tooth number of the rotary member 1) which is detected while the rotary member 1 is rotated by 1 turn; and symbol xe2x80x9cT12xe2x80x9d denotes time defined from the pulse detection time instants xe2x80x9ct1xe2x80x9d to xe2x80x9ct2xe2x80x9d. In this case, the time T12 is counted in unit of (10xe2x88x926) second.
Subsequently, the microcomputer 10 stores the latest pulse detection time instant xe2x80x9ct2xe2x80x9d at the present calculation timing T2 (step S12), and then clears the counter value Ci for counting the pulse (step S13). Thereafter, the rpm calculation interrupt routine shown in FIG. 9 is accomplished. As a result, the latest pulse detection time instant xe2x80x9ctixe2x80x9d is updated every time the rpm calculation is carried out, and also the counter value Ci indicative of the pulse number is cleared as xe2x80x9c0xe2x80x9d.
As previously explained, the microcomputer 10 stores the latest pulse detection time instant xe2x80x9ctixe2x80x9d, and counts the detection pulse number xe2x80x9cNpxe2x80x9d (see FIG. 8), and furthermore measures the time lapse xe2x80x9cT12xe2x80x9d (sec) of the pulse detection time instant within the calculation time period and the pulse number xe2x80x9cNpxe2x80x9d. As a result, the microcomputer 10 can calculate the rpm xe2x80x9cNexe2x80x9d based upon the above-described equation (1) (see FIG. 9).
Generally speaking, in order to improve calculation precision of the rpm xe2x80x9cNexe2x80x9d, it is preferable to detect a large quantity of pulse numbers xe2x80x9cNpxe2x80x9d as many as possible in the calculation time period xe2x80x9cTxe2x80x9d if the calculation process range is defined within the range for the calculation process capability of the microcomputer 10.
In the case that the rpm calculation is carried out based only on the rising edge of the detection pulse xe2x80x9cPxe2x80x9d, for example, since the calculation time period xe2x80x9cTxe2x80x9d is set to a long time period, the low rpm region which can be calculated in high precision can be expanded up to the detection limit of the rotary sensor 3.
However, when the calculation time period T is set to such a long time period, since the detection pulse number Np in the calculation time period T within the high rpm region is increased, the total number of the respective process operations indicated in FIG. 8 and FIG. 9 is increased, so that the calculation loads of the microcomputer 10 are increased. As a result, the calculable high rpm region is narrowed within the processing capability of the microcomputer 10.
On the other hand, another solution is conceivable. For example, the calculation time period xe2x80x9cTxe2x80x9d may be set to be a short time period within the high rpm region. That is, the calculation timeperiod xe2x80x9cTxe2x80x9d may be switched in response to the rpm xe2x80x9cNexe2x80x9d. However, the calculation control program is made complex.
In particular, when this solution method is applied to the transmission control of the engine, the control time period of the duty solenoid for driving a clutch is exclusively set, and the rpm calculation time period xe2x80x9cTxe2x80x9d is set identical to this control time period. As a consequence, it is practically difficult to switch the calculation time period xe2x80x9cTxe2x80x9d.
As previously explained, in the conventional rpm calculating apparatus for controlling the engine, since the pulse number xe2x80x9cNpxe2x80x9d is counted in response to only the rising edge of a single pulse series constructed of the detection pulse xe2x80x9cPxe2x80x9d, when the calculation time period xe2x80x9cTxe2x80x9d is set to a long time period so as to expand the calculable low rpm region, the calculation load of the microcomputer 10 exceeds the process capability of this microcomputer 10 in the high rpm region. As a consequence, there is such a problem that the calculable high rpm region is narrowed.
The present invention has been made to solve the above-described problems, and therefore, has an object to provide an rpm calculating apparatus for an engine control, capable of expanding a high rpm region calculable by an easy process without deteriorating calculation capability with respect to a low rpm region, while a calculation time period is not changed.
To achieve the object, an rpm calculating apparatus for controlling an engine, according to an aspect of the present invention, is featured by comprising: a rotary sensor for producing a detection pulse in response to an rpm related to the engine; and a microcomputer for calculating the rpm based upon said detection pulse so as to control the engine, wherein: the detection pulse contains a plurality of pulse series; and the microcomputer selects one pulse series from the plurality of pulse series in response to a drive region of the engine; and calculates the rpm related to the engine based upon both a detection time instant and the pulse number of the selected pulse series.
Also, an engine-controlling rpm calculating apparatus, according to another aspect of the present invention, is featured by that the engine-controlling rpm calculating apparatus is further comprised of a 1/2 frequency dividing circuit interposed between the rotary sensor and the microcomputer; wherein the 1/2 frequency dividing circuit frequency-divides the detection pulse derived from the rotary sensor to thereby produce a frequency division pulse containing a rising edge and a falling edge; and the microcomputer selectively detects at least one of the rising edge and the falling edge of the frequency division pulse, whereby two pulse series are substantially acquired by the microcomputer from the frequency division pulse.
Also, an engine-controlling rpm calculating apparatus, according to another aspect of the present invention, is featured by that the microcomputer calculates at least one of an input rpm and an output rpm of a transmission of the engine as the rpm related to the engine.
Also, an engine-controlling rpm calculating apparatus, according to another aspect of the present invention, is featured by that the microcomputer sets both a high rpm region and a low rpm region as a drive region of the engine; the microcomputer selects a pulse series whose pulse detection time period is long from the plurality of pulse series in the high rpm region; and the microcomputer selects a pulse series whose pulse detection time period is short from the plurality of pulse series in the low rpm region.
Also, an engine-controlling rpm calculating apparatus, according to another aspect of the present invention, is featured by that the microcomputer sets as the drive region of the engine an intermediate rpm region between the high rpm region and the low rpm region; and the microcomputer switches a pulse series selected in the intermediate rpm region.
Also, an engine-controlling rpm calculating apparatus, according to another aspect of the present invention, is featured by that the microcomputer calculates rpms based on the plurality of pulse series in the intermediate rpm region; and in the case that the respective rpms calculated based upon the plurality of pulse series are made coincident with each other, the microcomputer selects the pulse series to be selected.
Furthermore, an engine-controlling rpm calculating apparatus, according to another aspect of the present invention, is featured by that in the case that the respective rpms calculated based upon the plurality of pulse series are not made coincident with each other in the entire region of the intermediate rpm region, when at least one of the respective rpms is larger than, or equal to an upper limit value of the intermediate rpm region, the microcomputer forcibly switches the present pulse series to such a pulse series corresponding to the high rpm region; and when at least one of the respective rpms is smaller than, or equal to a lower limit value of the intermediate rpm region, the microcomputer forcibly switches the present pulse series to such a pulse series corresponding to the low rpm region.